package com.iwomy.secureplat.platform.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 出库列表-出库记录
 *
 * @author pig
 * @date 2023-12-12 11:13:45
 */
@Data
@TableName("basic_inventory_list")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "出库列表-出库记录")
public class BasicInventoryListEntity extends Model<BasicInventoryListEntity> {


	/**
	* ID
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="ID")
    private Long id;

	/**
	* 设备id
	*/
    @Schema(description="设备id")
    private Long deviceId;

	/**
	 * IMEI
	 */
	@Schema(description = "IMEI")
	private String imei;

	/**
	 * 设备类型名称
	 */
	@Schema(description = "设备类型名称")
	private String deviceTypeName;

	/**
	 * 设备型号名称
	 */
	@Schema(description = "设备型号名称")
	private String deviceModelName;


	/**
	* 出库模式 10默认出库；20平级出库
	*/
    @Schema(description="出库模式 10默认出库；20平级出库")
    private Integer outInventoryType;


	/**
	* 通讯费配置(10不需要；20需要)
	*/
    @Schema(description="通讯费配置(10不需要；20需要)")
    private Integer isCommunicationFees;

	/**
	* 配置方式(10配送；20代付)
	*/
    @Schema(description="配置方式(10配送；20代付)")
    private Integer deliveryMethod;

	/**
	* 出库单号
	*/
    @Schema(description="出库单号")
    private String outInventoryNumber;

	/**
	* 出库单位
	*/
    @Schema(description="出库单位")
    private Long deptId;

	/**
	* 客户单位
	*/
    @Schema(description="客户单位")
    private Long customerDeptId;

	/**
	* 平台使用年限
	*/
    @Schema(description="平台使用年限")
    private Integer platformFeeYears;

	/**
	* 平台到期时间
	*/
    @Schema(description="平台到期时间")
    private LocalDateTime platformExpireDate;

	/**
	* 短信剩余（条）,无限制为 999999
	*/
    @Schema(description="短信剩余（条）,无限制为 999999")
    private Integer smsRemainNum;

	/**
	* 语音剩余（分钟）无限制为 999999
	*/
    @Schema(description="语音剩余（分钟）无限制为 999999")
    private Integer ttsRemainNum;

	/**
	 * 出库时分配短信数
	 */
	@Schema(description="出库时分配短信数")
	private Integer smsNum;

	/**
	 * 出库时分配语音数
	 */
	@Schema(description="出库时分配语音数")
	private Integer ttsNum;

	/**
	 * 出库时分配平台年限
	 */
	@Schema(description="出库时分配平台年限")
	private Integer platformYears;

	/**
	* 是否初始化 (10是；20否)
	*/
    @Schema(description="是否初始化 (10是；20否)")
    private Integer isInitialize;

	/**
	* 创建人
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建人")
    private String createBy;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
    private LocalDateTime createTime;

	/**
	* 修改人
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改人")
    private String updateBy;

	/**
	* 修改时间
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改时间")
    private LocalDateTime updateTime;
 
	/**
	* delFlag
	*/
    @TableLogic
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="delFlag")
    private String delFlag;

	/**
	 * 租户id
	 */
	@Schema(description="租户id")
	private Long tenantId;

	/**
	 * 设备过户单位id
	 */
	@Schema(description="设备过户单位id")
	private Long transferDeptId;

	/**
	 * 所属单位id
	 */
	@Schema(description = "所属单位id")
	private Long createDeptId;

}